三次曲线拟合
已知N个点,拟合目标函数:
y
=
c
0
+
c
1
∗
x
+
c
2
∗
x
2
+
c
3
∗
x
3
y = c_0 + c_1*x + c_2*x^2 + c_3*x^3
y=c0+c1∗x+c2∗x2+c3∗x3
把自变量和因变量放在两个矩阵内:
A
=
[
1
x
0
x
0
2
x
0
3
⋮
⋮
⋮
⋮
1
x
n
x
n
2
x
n
3
]
A = \begin{bmatrix}1 & x_0 & x_0^2 & x_0^3 \\ \vdots & \vdots & \vdots & \vdots \\ 1 & x_n & x_n^2 & x_n^3 \end{bmatrix}
A=⎣⎢⎡1⋮1x0⋮xnx02⋮xn2x03⋮xn3⎦⎥⎤
B
=
[
y
0
⋮
y
n
]
B = \begin{bmatrix} y_0 \\ \vdots \\ y_n \end{bmatrix}
B=⎣⎢⎡y0⋮yn⎦⎥⎤
拟合结果为:
C
=
(
A
T
∗
A
)
−
1
∗
A
T
∗
B
C = (A^T * A)^{-1}*A^T*B
C=(AT∗A)−1∗AT∗B